/**
 * 降低版本（高版本暂不可用）
 */


const viewer = 'skeletonViewer.jar'
const version = '3.7'

const { exec } = require('child_process')
const path = require('path')
const logger = require('../../util/logger')

function reVision(target, names = []) {
  names.forEach(name => {
    const file = path.join(target, `${name}/v0/${name}.json`)
    const out = path.join(target, `${name}/v3/${name}.json`)

    try {
      exec(`java -cp ${viewer} com.esotericsoftware.spine.JsonRollback ${file} ${version} ${out}`, (error, stdout, stderr) => {
        if (error) {
          console.log(stderr)
          console.log(`${name} 降低版本失败`)
          console.error(`exec error: ${error}`)
          logger.error(`${name} 降低版本失败`)
          logger.error(error)
          return
        }
        console.log(stdout)
        console.log(`${name} 降低版本成功`)
        logger.info(`${name} 降低版本成功`)
      })
    } catch (e) {
      console.log(`${name} 降低版本失败`)
      logger.error(`${name} 降低版本失败`)
      logger.error(e)
    }
  })
}

module.exports = reVision
